#pragma once
#include "mkvmuxinpin.hpp"

namespace MkvMux
{

class MkvStreamAudio;

class InpinAudio : public Inpin
{
    InpinAudio(const InpinAudio&);
    InpinAudio& operator=(const InpinAudio&);
    
public:

    explicit InpinAudio(Filter*);
    ~InpinAudio();
    
    HRESULT STDMETHODCALLTYPE QueryAccept(const AM_MEDIA_TYPE*);
    HRESULT STDMETHODCALLTYPE GetAllocatorRequirements(ALLOCATOR_PROPERTIES*);

protected:

   HRESULT OnInit();
   void OnFinal();
   //HRESULT OnReceiveConnection(IPin*, const AM_MEDIA_TYPE&);
   HANDLE GetOtherHandle() const;
   
   //HRESULT (*m_pfnGetAllocatorRequirements)(
   //             const AM_MEDIA_TYPE&,
   //             ALLOCATOR_PROPERTIES&);
   //
   //MkvStreamAudio* (*m_pfnCreateStream)(MkvContext&, const AM_MEDIA_TYPE&);

};
    
}  //end namespace MkvMux
